package jp.sourceforge.akjrcp.potrace;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import jp.sourceforge.akjrcp.akj_betas.Akj_betasPlugin;
import jp.sourceforge.akjrcp.ui.GenericParameters;

public class PotraceUtils {

	
	public static String getPotracePath(){
		String path=Akj_betasPlugin.getDefault().getPreferenceStore().getString(PotraceSettingPage.MKBITMAP_PAHT);
		if(path.equals("")){
			return null;
		}else{
			if(new File(path).exists()){
				return path;
			}
		}
		return null;
	}
	public static String[] toCommand(String mkbitmapPath,GenericParameters params,String input,String output){
		List<String> list=new ArrayList<String>();
		list.add(mkbitmapPath);	
		//TODO more be safety
		String t_str=params.getParameters().get("t");
		if(!t_str.equals("")){
			list.add("-t");
			list.add(""+(int)Double.parseDouble(t_str));//int only
		}
		String a_str=params.getParameters().get("a");
		if(!a_str.equals("")){
			list.add("-a");
			list.add(a_str);
		}
		String O_str=params.getParameters().get("O");
		if(!O_str.equals("")){
			list.add("-O");
			list.add(O_str);
		}
		String u_str=params.getParameters().get("u");
		if(!u_str.equals("")){
			list.add("-u");
			list.add(u_str);
		}
		
		String z_str=params.getParameters().get("z");
		if(z_str!=null && !z_str.equals("")){
			list.add("-z");
			list.add(z_str);
		}
		
		String n_str=params.getParameters().get("n");
		if(n_str!=null){
			list.add("-n");
		}
		
		String c_str=params.getParameters().get("c");//no compression
		if(c_str!=null){
			list.add("-c");
		}
		
		String b_str=params.getParameters().get("b");
		if(!b_str.equals("")){
			list.add("-b");
			list.add(b_str);
		}

		String P_str=params.getParameters().get("P");//no compression
		if(P_str!=null){
			list.add("-P");
			list.add(P_str);
		}
		
		String C_str=params.getParameters().get("C");//no compression
		if(C_str!=null && !C_str.equals("")){
			list.add("-C");
			list.add(C_str);
		}
		
		
		list.add("-o");
		list.add(output);
		list.add(input);
		return (String[]) list.toArray(new String[list.size()]);
	}
}
